$VER: AFA_OS_Documentation 1.8 (26.04.2016)
===============================================================================
                                    AfA_OS
                             [ AROS for AmigaOS ]
===============================================================================
04.2016

++++++++++++++ Note
Attention!!!!

 Since AfA_OS Version 3.96 NewIcons will be treated like GlowIcons. That means
 you have to be the following things in mind: Icons will be converted into
 GlowIcons if you change anything on them (e.g. change or fix position, Tool-
 types, ...).



++++++++++++++ AfA_OS Requirements and Limitations

AfA_OS Requirements: - fast Amiga (Emulation) with FPU
                     - Kickstart 3.1
                     - OS 3.1 better 3.5 or 3.9 best with BoingBags
                     - Graphic card (Emulation) with Cybergraphics or Picasso96
                       Software
                     - more than 2MB RAM


AfA_OS Limitations: - if you use only OS3.1 there is no PNGIcons and Skining
                      possible. (See FAQ for a solution)
                    - NewIcons are treaded like GlowIcons
                    - With CGX 3 and 4 icons will only be shown in four colours
                      while dragged.
                    - picture.datatype don't provide write support
                    - Morelibspace don't work on all Systems jet



++++++++++++++ AfA_OS Features

Realtime Skin System, which can change Skins without closing the screen first,
and supports user defined border sizes for every border.
See Screenshot under the following link:
 http://amidevcpp.amiga-world.de/AfA_Screenshots/currentafa%20develop.png

It can be selected between Visualprefs, Birdie or the AfA-Skin system via
AFA_Prefs and a customized startup-sequence.
  Please consult the AfA documentation for information how to set this up. In
  Amikit from Version 1.4 onwards all necessary things have been done already.

ReAction (ClassAction), KingCON and MUI Windowgadgets are supported and replaced
by the Skinsystem with code and help from Dieter Gropp.
DOpus5 Iconify and tbiclass Windowgadgets are also supported and replaced by the
Skinsystem by pushing ;) and with help from Thomas Klein.

A user configurable Blacklist where you can exclude programms from using bigger
than normal borders as some programs do not work with increased border size
properly. The blacklisted programs will then open with standard border size.

Many user configurable real time parameters like three different Borderlines.
The user can change the pre defined Skin parameters over a GUI.

Window Titel Font autonomous from AOS attuned Window Font selectable.
Position of Window Titel Font and shadow mit adjustable depth selectable.

Skins consist of several parts: Screentitle, For- and Background for the verti-
cal and horizontal sliders and windowe frame parts like top, bottom, left and
right frame.

Now are 22 Skins from Ken Lester are usable. Here is a link to a screenshot
where 21 skins are shown:
  http://www.five-star.com/kens_icons/screenshots/themes_all.png

AfA_OS allows you to use 32bit Dual Image PNG Icons, OS4 32bit Icons, "Palette"
GlowIcons and NewIcons with full Colorprecision and also faster than with the
original because colours must not be remapped to Workbench Palette. It works
in conjunction with DOpus Magellan and Workbench. Dragging of Icons works in
full 32bit colours with P96 and CyperGraphics V2. With CGX 3 and 4 icons will
only be shown in four colours while dragged.

OS4/PNG Icons can be scaled in realtime due to a high quality scale code by
Thilo Khler. On a Classic (060) Mason-Icons with 30 pixel size can be rendered
faster than in original size.

Alpha-Channel support for picture datatypes.

TrueTypeFonts are supported with antialiasing.



++++++++++++++ Licence

AfA_OS uses the same Licence Model as AROS.

Please also notice the Copyright of the bitstream Fonts "Vera" which are part
of this archive in the "Fonts" directory.



++++++++++++++ Disclaimer

Please note that you are using AfA_OS on your own risk.

I will not be responsible for any damage or data loss caused by AfA_OS to you.



++++++++++++++ Contact

If you have questions or want to help out on AfA_OS (I like to get help)
do not hesitate to contact me under my e-mail address:

               Bernd Roesch <nospamname@web.de>



++++++++++++++ Installer

The installerscript v2.0 is a nearly complete rewrite, only some texts are used
from the old script. This was necessary to fix the problems with AmiKit-systems
and some others too.

This new script tries to detect a formerly installed version of AfA_OS and if
its an AmiKit-system Installation. The result will be displayed and can be one
of the following possibilities:
  - No AfA_OS installation present or detected, so we make a first install!
  - An AfA_OS installation detected for an update!
  - An AfA_OS custom-installation detected for an update!
  - !!An AfA_OS custom-installation with a conflict detected for an update!!
  - An AmiKit-system installation with a AfA_OS installation detected for an
    update!
  - !!An AmiKit-system Installation with a conflicting AfA_OS installation
    detected for an update!!
You can then decide if you want to continue or abort.

At a first Install you will only be asked where to copy the documentation and
testprogams, an extra directory  (AfA_OS) will be created for it. The rest
are copied to the AfA_OS default directories, which will also be created
automatically.

At all update procedures without a conflict everything will be automatically
copied in the corresponding directories, you will only be asked if the AfA_OS
directory for the documentation and in case of a custom-installation the
skin-directory doesn't exist or do not match the AfA_OS defaults.

If a conflict is detected, then at least the directory SYS:AfA_OS_Libs and also
the Assign AfA_OS_Libs: exist, but this points to other directory than
SYS:AfA_OS_Libs. This could happen by using the old installer script with a
custom-installation or AmiKit-system installation.
If you continue, the new installerscript will notify you of all detected problem
directories and files and offer you the following four solutions:
 - Delete it if possible or else rename it.
 - Rename it to #?_deletable.
 - Use it for the update and ignore the custom- or Amikit-system installation!
 - Ignore it and use the custom- or Amikit-system installation. The update
   will not be active after reboot!

Selecting "Delete ..." it will be attempted to delete all these directories and
if it is not possible rename the files in the same way as if "Rename ...." was
selected. This might primarly happen in case of SYS:AfA_OS_Libs directory,
because the AfA_OS_Loader will have at least one lock on it, you can delete it
later after a reboot. After that a normal update is preformed as described above.

Selecting "Rename ..." all these directories and if necessary files are renamed
with "_deletable" added to the names. After that a normal update is preformed as
described above.

Should you choose "Use it ..." the update will use then the corresponding
directories.

In case you choose "Ignore ... " all directory and if necessary files are
ignored, the update is preformed as if they do not exist. In this case the new
AfA_OS_Libs will not be recognized at the next reboot, because AfA_OS_Loader
finds and starts the old Libs in SYS:AfA_OS_Libs.


If you perform the installation or the update as an expert you will be asked if
the zune_lib.exe or morelibspace_module should be installed if they are not
already installed. If they are already installed they will be automatically
updated, no matter if do it as an expert.
Also experts will be asked in conflicting cases to confirm the "Delete ...." or
"Rename ..." action for every directory and file that is displayed.

The installer script perform also some checks and abort if you use the
InstallerNG. This happend for safety because it was reproducably crashing during
the tests, please use the installer version 43.3 or the installer from Geit
version 1.32. It also aborts if Kickstart present is not at least version 3.1.



++++++++++++++ AfA_OS Installation:

Note:
 If you observe any problems after the AfA_OS installation you can easily test
 if AfA_OS is the root cause by pressing the left mousebutton during startup,
 the AfA_OS Modules then will not be loaded. If you start "AfA_OS_Loader" with
 the following option: MOUSESTART (must be written Uppercase) then you must
 hold the left Mousebutton during startup so that the AfA_OS Modules will be
 loaded at all.

Pleace use the Installer to install (copy) AfA_OS to your System.

If you want to do the installation manually to understand what happens during
the AfA_OS installation. Please follow the guide below.


++ Manual Installation

 - Copy the dir "AfA_OS_Libs" to your sys: Bootpartition. If you don't like it
   to resist there you can place it elsewhere and add an assign "AfA_OS:" to
   the appropriate directory where the AfA_OS_Libs are.
 - Copy all content of the directory "Libs" to your sys:libs directory.
 - Copy all content of the directory "C" to your sys:C directory.
 - Copy "Fonts" to your sys:fonts directory. If you want to use more fonts, you
   can install additional fonts e.g. from AROS or MOS.
 - Copy all content of the directory "Prefs" to your sys:prefs directory.


Than you have to insert or alter some lines on your startup-sequence or user-
startup and patch RAWBIcon so please follow carefuly the provide instructions.

The files "user-startup" and "startup-sequence" usually are located in the "s:"
directory of you system partition.


++ MoreLibSpace:

Note:
 Programs like "morelibspace" naturally can come into conflict with other resi-
 dent loaded patches or programms. But please let me know any problem or con-
 flict you observe. During testing we did find out that the best place for the
 insertion shown below is the first (not commented) line in your
 "startup-sequence". Users who use a custom made Kickstart 3.9 ROM be it a
 "SoftRom" for UAE a Blizkick Module or a physikal ROM please follow the in-
 structions that are given for OS 3.1 users.

OS 3.5 and 3.9 users please insert:

 c:morelibspace

If possible in the first line of your "startup-sequence" but latest before
the "setpatch" command.

OS 3.1 user and people who use 3.9 KickROMs (SoftRom,EEPROM,Blizkick...)
please insert:

 c:morelibspace REBOOT  ;(REBOOT only work if its written uppercase)

If possible in the first line of your "startup-sequence" but latest before
the "setpatch" command. OS3.1 will not reboot the AMIGA after the first call of
setpatch as OS3.5 and OS3.9 will do, that's why we need a reboot here.

Succestion:
  Best is to test jet if morelibspace are functioning right on your system
  as its discribed in the first part of "Did the installation work?" befor
  you made more modifications!


With AfA_OS version 4.2 (morelibspace Version 46.0 and up), morelibspace have
an new Switch "REVERSE". With this Switch the morelibspace Resident are placed
in the top of the memory like the AmigaOS ROM Updates.
So if morelibspace without or with "REBOOT" does't work on your System give it
a try with "REVERSE" without or with "REBOOT".

If all these options does't work then please try to use morelibspace as a
Blizkick module.

From AfA_OS version 4.4 on the morelibspace residentmodule is in the archive in
"Optional/Devs/" as "morelibspace_module". Its only the code that stays reset-
prof in memory it can't be started directly.
This module can use together with BlizKick, LoadModule and can be installed in
the Flash of the DENEB card. This have the advantage of little smaller memory
use and may be safe one RESET for initialisation.

This version is a little different form the orginal resident module because the
patchroutine are first copy to a free memspace and then intialist instead of the
orignal where the patchroutine are intialist in the memspace of the resident
module.


++ AfA_OS_Loader:

Insert the following line:

 c:AfA_OS_Loader

after (beneath) the "AddDatatypes" command in your "startup-sequence".

Tools like "Visual Prefs" and "Birdie" should be started later than the
"AfA_OS_Loader" or text centering will not work properly.


++ for the Skin System support:

Note:
 When activating the AfA_OS Skin System it is possible that some display errors
 can occur.

If you have installed Birdie or Visualprefs please make sure that your startup-
sequence allows you to switch Birdie and Visualprefs on and off. Please compare
your settings with the AmiKit startup-sequence given below as example. Newer
Versions of Amikit come with activated skin system by default.

When the stringgadget "Skin" in AfA_Prefs is empty the enviroment variables
are deleted so Birdie, Visualprefs and or Titleshadow are used instead.

If you select a skin, the enviroment variables will be set.

Note: For every switch between Birdie/Visualprefs and the AfA_OS Skin System
      you need to reboot. Later on when you have fully switched to the AfA_OS
      Skin System, AfA_OS Skins can be changed in realtime.

Extract from the Amikit Startup-Sequence
-------------------------------------------------------------------------------
IF NOT EXISTS ENV:AfA/replacevisualprefs ;enables the following lines only
;if similar featrues are disabled in AfA_OS
   Run >NIL: SYS:Utilities/Expansion/TitleShadow/TitleShadow
;enables effects for window titlebar texts
   Run >NIL: SYS:Utilities/Expansion/VisualPrefs/VisualPrefs
;enables the customization of Amiga GUI
   Run >NIL: SYS:Utilities/Expansion/VisualPrefs/TRAP ALL
;enables the customization of Amiga ReAction GUI
ENDIF

C:Wait 1  ;prevents IPrefs from crashes. Increase the value if IPrefs still
          ;crashes.
C:IPrefs

SYS:Utilities/Expansion/ShowAmiga96/Bin/ShowAmiga96_Login >NIL:

SYS:Utilities/Expansion/FullPalette/FPPrefs     ;applies FullPalette
settings

C:ConClip

Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs
SYS:WBStartup SYS:Tools SYS:Tools/Commodities SYS:Utilities/PicShow
SYS:Utilities/EvenMore SYS:Utilities/MysticView SYS:Utilities/SimpleFind3
SYS:Utilities/Expansion/SmartFileSystem

IF NOT EXISTS ENV:AfA/replacebirdie ;enables gfx patterns for windows
                                    ;borders (only if similar feature is
                                    ;disabled in AfA_OS)
   ;C:Wait 1  ;prevents Birdie from not loading the background picture.
   Run >NIL: SYS:Utilities/Expansion/Birdie/Birdie ? <Env:Birdie.prefs
ENDIF
-------------------------------------------------------------------------------

As i can not test against all AOS programs, please let me know if you notice a
program that fails with the AfA_OS Skin System. Some programs are not written
properly and do not accept borders that are lager than the AOS default.

In the drawer SYS:Prefs/Presets/Skins you find a file named blacklist.info

To this file you can add programs to the Tooltypes that should only use default
bordersize. For performance reasons "blacklisting" was designed as simple as it
could be for the CPU.
First comes xxxx (can be used later for options) then the taskname. The task-
name is not case sensitiv.
For example:

xxxxTest

If you set this variable, then the task "Test" will only open a window with 10
pixel bottom and 18 pixel right Border (this is the AOS default value).


++ for the Icon support:

Attention!!!!

 You must remove PowerIcons from your startup-sequence or your System crash
 at Boot (naturally only if you were using it before installing AfA_OS).
 However, it is a good idea to keep the 'start-icon' of PowerIcons on the
 desktop just in case that during the installation of AfA_OS goes wrong. Please
 deactivate/remove any other icon patches (e.g. IconBeFast, etc.) too.

Please now run the "rawbinfo_patch" form "AfA_OS/Patches" it will patch
RAWBInfo. RAWBInfo then will be able to support 32Bit Icons. This patch looks
for RAWBInfo in the WBStartup directory. If the detected version is too old,
the patch will alert you (with "please update to Boing Bag 2!"). Please now cd
to WBStartup and remove the old RAWBInfo and rename the "new" one.

Please make sure that RAWBinfo_patch has done it's job properly: Open a shell
and type:

cd WBStartup       |Return/Enter
version RAWBInfo   |Return/Enter

The version given should be 1.35 of RAWBinfo. Please now check if the filesize 
is 53744, if the filesize larger then you maybe have a LinkVirus. Please Check
your computer with a anti virus program before proceeding.

If you use DOpus Magellan then please be aware that the icon information Module
of DOpus Magellan does not work correctly with the new icon.library.

1. For AmiKit:
   Move the file "UseWBInfo" which must only have a "1" in it from      
   "ENVARC:DOpus/Disabled/" to the directory "ENVARC:DOpus/" directory. After
   that please move the utility RAWBInfo" to which resists in
   "WBStartup/Disabled" to "WBStartup" and patch it as described above and
   reboot.

2. For other Systems:
   Create a Text file with the name "UseWBInfo" which must only have a "1" in        
   it in the directory "ENVARC:DOpus/" , don't forget to have the patched 
   "RAWBInfo" in "WBStartup" now reboot.

If you're using 32bit def_icons, please copy them to:
"Sys:Prefs/Presets/Deficons/" (32bit icons are larger and use up a lot of memo-
ry when copied to "RAM:ENV").
Therefore icon_lib.exe searches first in "Sys:Prefs/Presets/Deficons/" and then
in "env:". It is also necessary to edit each of the def_icon's "Default Tool"
to use YOUR preferred program/utility.

From AfA_OS Version 3.96 on the icon library is compatible with the "DefIcons"
program, so you can copy it back to WBStartup if you have removed it before
because of compatability issues.

Now do a cold reboot (switch of your Amiga or restart winuae) to activate
AfA_OS.


Further details:
 If you notice any problems after the Installation of AfA_OS please consult the
 FAQ first. If the problem persits please start investigating the problem by
 commenting out any "non standard" commands in your Startup-Sequence &
 User-Startup also remove everything from the WBStartup directory. After that
 please re add everything step by step (reboot after every added command) until
 you found the conflict/problem.

Good Luck! and please report every conflict or fault you observed.



++++++++++++++ Did the installation work?

If possible please check e.g. in Scout that "morelibspace" is working properly.
Look for selection "library" (click on icon.library). If IconLib has 10000
bytes of positive libspace then it's working properly. Even if the libspace was
not increased, the AfA_OS_Libs won't crash -- only the features added through
them just won't be available.

To check if all works well, please start the program "TextBench" which is also
part of this archive. Textrendering speed of TTF antialising is not record-
breaking because it has not been optimised (which you can see on the aatext
source. I hope it is fast enough to be usable even on a 68060@50MHz.

WinUAE is not very fast on Graphics operations. On a AMD64 3000+, 10 characters
can be printed about 7000 times a sec (= 70 000 chars/sec). Courier 15 (without
AA) can be printed 9000 times per sec (= 90 000 chars/sec). So Truetype fonts
are not much faster than fonts which use AA.

The following applies for both types: Longer text lines will be displayed with
more chars/sec. I am intrested to get 68k values of "TextBench", please send 
me some if possible.



++++++++++++++ AfA_Prefs Program

++ System Settings:
 _____________________________
|_____________________        |
|Misc|Icon|Window|Text|       |
|     |
|                             |
|                             |
|       Safer System [ ]      |
|       Faster Icons []      |
|                             |
|                             |
|                             |
||
| (SAVE)    (USE)    (CANCEL) |
|_____________________________|


Safer System:
    If anabled compatibility is lower but System is safer with bad Amiga
    programs. It helps also by developing programs to detect bugs earlier,
    default is disabled.

Faster Icons:
    If anabled Icondraw is speedup by factor 5 and the Icons a displayed with a
    better color precision. It works with icons that are in NewIcon, OS3.5 or
    OS3.9 Icon Format, default is disabled.
    Limits: Scalos use its own routines so no speedup here.


++ Icon settings:
 _____________________________
|_____________________        |
|Misc|Icon|Window|Text|       |
|      |
|      Standart Icons ----[0]|
|                             |
|      Drag Icon      ----[0]|
|                             |
|      Icon size       [ 0 ]  |
|                             |
||
| (SAVE)    (USE)    (CANCEL) |
|_____________________________|

Transparency
    With the sliders you can set the level 0 to 100% of transperancy for OS4
    and PNG Icons (TruecolorIcons).

  Standart Icons:
      Here you can set the tranperance of truecolor Default or DefIcons if the
      are installed in "ENV:SYS/" or in "SYS:Prefs/Presets/DefIcons" as
      "def_#?.info", default is 0.

  Drag Icons:
      Here you can set the tranperance of truecolor icons that you move with the
      Mousepointer, default is 0.

Icon Size:
    For 32Bit (OS4, PNG) Icons you can actived the scaling by set here the
    result pixel size of the icon to display, default is 0 that switch it OFF.
    For example 30 mean the all PNG and OS4 Icons are scaled and displayed with
    a size of 30 Pixel.


++ Window Settings:
 _____________________________
|_____________________        |
|Misc|Icon|Window|Text|       |
|        |
|Skin File   [   ]  (Sel.Skin)|
|Title Size  ----  [24      ]|
|Title Font  [   ]  (Sel.Font)|
|Title Y Pos ----  [0       ]|
|Shadow Size * 1    (* Center)|
|Size Gadget ----  [18      ]|
|Win Border (*skin) (*load D.)|
||
| (SAVE)    (USE)    (CANCEL) |
|_____________________________|

Skin File:
    The string gadget shows the path to the select AfA_OS Skin and with the
    button "Sel.Skin" you can select a Skin with a requester. Default is a empty
    string gadget that disabled the AfA_OS Skin.

    At Version 4.5 on the Tooltype "SkinPath" are supported to change the
    default path in the Skin select requester.

    Note: If you have installed Birdie or Visualprefs please make sure that your
          startup-sequence is prepare with the changes disscribed in the install
          section of this Document.

          If you select a skin, the enviroment variables will be set and if you
          clear the string gadget empty to deactived the AfA_OS Skins the
          enviroment variables are deleted.

          So for every switch between Birdie/Visualprefs and the AfA_OS Skin
          System you need to reboot.


Title Size:
    With the silder the hight of the Title window border are set if AfA Skins
    are active, default is 24.

Title Font:
    You can select a Window Titel Font that is autonomously from AOS window font
    by a click of the Button "Sel.Font" wich opens a Font select requester. To
    deactived clear the fontname in the Font select requester and press "ok".
    Default is off and System font is used then  ".font Size" is displayed.

Title Y Pos:
    With the slider you select the vertical Position of window titel font
    relativ to the standart positon in the Window tile border, default is 0.

Shadow Size:
    With the cycle you set the offset -x and +y to draw the shadow of the window
    title font, Default is 0 for AfA Skin off and depents on the Skin if AfA
    Skins on.

Cycle "Center/Left Side"
    With this cycle gadget you can switch the the positon of the window name
    betwin "Left Side" and "Center",default is "Left Side".

Size Gadget:
    This silder set the size of the right an buttom Border if a Size gadget is
    displayed, default is 18.

Win Border:
    This cycle set the borderlines betwin "3D" that frame the border with black
    and white lines, "SkinBorder" that use the colors set by the Skin and
    "None" no borderlines are drawn, default is "SkinBorder".

Cycle "Load Defaults/Ignor Defaults"
    With this Cycle you can set that the default settings of "Win Border" and
    "Shadow Size" are used or by "Ignor Defaults" that your altered settings
    are use if you select a new Skin, default is "Load Defaults".


++ Text Settings:
 _____________________________
|_____________________        |
|Misc|Icon|Window|Text|       |
|      |
|                             |
||0123yg66789@_T__||
|Reduce Antialiasing------[0]|
|Enhance Contrast   ------[0]|
|Font Size Adjust   ------[0]|
|Line Space Hack    ------[0]|
|                             |
||
| (SAVE)    (USE)    (CANCEL) |
|_____________________________|


Reduce Antialiasing:
    This slider set the strength of the antialiasing, default is 0.

Enhance Contrast:
    This slider set the contrast of the antialiasing, default is 0.

   Note: Antialiasing work only on 15, 16, 24 or 32 bit screens.


Font Size Adjust:
    This silder increase/decrease the fontsize by a choosen value, default is 0.
    For example when set to +2 programs that open a font with size 10 get now
    size 12. So its possible to change easy the fontsize of all programs for use
    with different Monitorresolution.

Line Space Hack:
    This slider reduce the linespace between chars by given value, default is 0.
    Truetype fonts use much space for French accent "T" but most
    languages don't need this characters. For example english users can set it
    to -3 and german users to -1 or -2.
    It is a hack, the setting depens on wich accent characters your language
    had it can lead in non readable accent characters.

   Note: You should reboot to actived the changes.



++++++++++++++ Programs that not function with AfA_OS!

 UnixDirs3 V2.0
   Have Stack access problem that had without AfA_OS normaly no effect.


 VirusExecuter V2.34
   Have problems with the increased jumptables of the librarys from morelibspace.



++++++++++++++ FAQ

++ General questions about AfA_OS:
 
 Q: Why do the AfA_OS files end with extensions like ".exe" or ".kmod"?

  A: Because by that you can differentiate them from the original Amiga Shared
     Librarys. 
     

 Q: Why are the AfA_OS "librarys" actuall executables?
     
  A: AfA_OS librarys are executables because:
     a)They can be turned off easily.  
     b)They can be replaced easily with newer versions, or can be restarted
       several times while debugging it.


 Q: Does the boot time increase when AfA_OS is installed?

  A: The boot time with and without AfA_OS is almost identical. Here is a hint
     for faster booting (that also works without AfA_OS):

      Install HappyENV or envhandler (both programs can be found in aminet).
      After you installed one of the applications you can remove the following
      line from your startup-Sequence:
      Copy >NIL: ENVARC: RAM:ENV ALL NOREQ
      
      This line is responsible that envarc is copied to env. If you have a lot
      of programs installed, there will be a lot of files in envarc and the
      procedure will take some time. If you switch to HappyENV or envhandler,
      you will get faster booting and save some memory.


 Q: On my Amiga with CGX System there are mouse or system freezes?

  A: Set the enviroment variable "USESEMAPHORES" to 0.
  

 Q: How can i make sure that AfA_OS installed properly and starts correctly?
 
  A: It is best to use the Programm SnoopDos. You there will see what part is
     missing because of repeated errormessages that will be shown there.


 Q: How i am able to use PNGIcons and Skining under OS3.1?

   A: You require the 3 Files setpatch, workbench.library and icon.library of
      OS 3.5 or 3.9 to enable it. This file are needed because the workbench do
      intern icon drawing, this means the OS Function drawiconstate is not use
      in workbench and OS3.1 iconlib does not contain this function. And Setpatch
      is needed to remove the ROM based librarys to use the files in LIBS:.
      The following is to do:
         1. Rename C:SetPatch to SetPatch.old
         2. Copy (AmigaOS3.5 or 3.9) icon.library to Libs:
         3. Copy (AmigaOS3.5 or 3.9) workbench.library to Libs:
         4. Copy (AmigaOS3.5 or 3.9) SetPatch to C:


 Q: I have problems with one or more programs since i have installed AfA_OS what
    can i do?

  A: Test the programs with SnoopDos maybe only a DefIcon is mised by the progam
     like as example KingCON for Iconify.
     If this doesn't help and you have the possibility and knowledge test the
     programs with Debugtools Segtracker, Enforcer and Wipeout respectively with
     equalaties of your used processor librarys (phase5 CyberGuard, MMULib
     MuForce, MuGuardianAngel).
     Please always check with a clean System also.
     

 Q: How can I start AfA_OS respectively AfA_OS_Libs manual and what is the
    optimal sequence?

  A: You don't must use AfA_OS_Loader but that you need to place the follow
     in the Startup-Sequence, it is the optimal sequence:
     
      IF EXISTS SYS:AfA_OS_Libs/afa_system_lib.exe
         RUN >NIL: SYS:AfA_OS_Libs/afa_system_lib.exe
         IF EXISTS SYS:AfA_OS_Libs/picture_datatype.exe
            RUN >NIL: SYS:AfA_OS_Libs/picture_datatype.exe
         ENDIF
         IF EXISTS SYS:AfA_OS_Libs/exec_lib.exe
            RUN >NIL: SYS:AfA_OS_Libs/exec_lib.exe
         ENDIF
         IF EXISTS SYS:AfA_OS_Libs/diskfont_lib.exe
            RUN >NIL: SYS:AfA_OS_Libs/diskfont_lib.exe
         ENDIF
         IF EXISTS SYS:AfA_OS_Libs/graphics_lib.exe
            RUN >NIL: SYS:AfA_OS_Libs/graphics_lib.exe
         ENDIF
         IF EXISTS SYS:AfA_OS_Libs/icon_lib.exe
            RUN >NIL: SYS:AfA_OS_Libs/icon_lib.exe
         ENDIF
         IF EXISTS SYS:AfA_OS_Libs/intuition_lib.exe
            Run >NIL: SYS:AfA_OS_Libs/intuition_lib.exe
         ENDIF
         IF EXISTS SYS:AfA_OS_Libs/zune_lib.exe
            RUN >NIL: SYS:AfA_OS_Libs/zune_lib.exe
         ENDIF
      ENDIF


 Q: I have the problem that on my AmikitSystem the boot screen will not close
    after the update, what happend?

  A: This should never happen, because then the installation/update failed.
     You can close the boots screen by pressing the ESC key. Maybe then you will
     not see all icons, but this is normal because AfA_OS is not active, please
     repeat the installation with the new installer script.


-------------------------------------------------------------------------------
++ AfA_Prefs:

 Q: Why are the sliders for Titel Size, Size Gadget ... ghosted?

  A: This options are only available if the intuition_lib.exe, icon_lib.exe and
     morelibspace installed und functioning.


 Q: Why i have no preview of the transparency if i move the sliders?

  A: Than the Icon of AfA_Prefs.info is not a 32Bit Icon in OS4 format or PNG
     format. Change the Icon to the defaults of the AfA_OS Archive, in versions
     befor 4.3 the icons are only GlowIcons.


 Q: Why i see no effect of transparency in the Workbenchwindows if i select it
    for Standard Icons?

  A: It only effects Default or DefIcons for files that have no own Icon if you
     use the Option "Show" "all files" from the Window Menu.
     And 32bit def_icons in OS4- or PNG- format must be installed.


-------------------------------------------------------------------------------
++ diskfont_lib.exe:

 Q: Texts which utilise truetype fonts are stretched horizontally or is not
    centered properly in the window titlebar?

  A: This happens when AfA_OS_Loader is started too late. Troubleshooting the
     issue brought the conclusion that it is best if you start AfA_OS after
     "ADDDatatypes" and before IPrefs is called. Tools like Visualprefs,Magic-
     Menu, Birdie and MCP have to be started after the AfA_OS_Loader.


 Q: The font i had converted has too much y space and or parts of characters are
    cut off (buttom)?

  A: Please try a other "metric" setting in the font manager. Normally
     with "USWin ascender" you will have the best results.


 Q: I want to use unicode fonts for other languages?

  A: Make sure the truetype font supports your national characters. Select in
     the mainpage the codepage file. Now select the font and click on convert.
     The message "can't copy font" can be ignored when the dir "Fonts:" is
     chosen.


 Q: Why are some Pixel of the Iconname not cleared if I move the icon or a
    APPIcon are removed?

  A: It's looks like that there is a Bug in the workbench.library that moves
     the Icon if the option Border size "Large" are set in Workbench Prefs. Set
     the Option to "No Border" to remove this effect.


-------------------------------------------------------------------------------
++ graphic_lib.exe:

 Q: Why do i have flicker on the Windowborder if i use functions like:
    Titelfont, Shadow and Center?

  A: This should not happen from version 4.5 on because the windowborder are
     rendered offscreen.


-------------------------------------------------------------------------------
++ icon_lib.exe:

 Q: I see no or not all or bad colored icons on my WB if it runs in 8Bit Mode?

  A: This is because icons are handled for FasterIcon and 32Bit support.
     This will likely not change in the future.


 Q: I have icons that look a bit garbled on WB or DOpus?

  A: If this only happens with activated AfA_OS icon_lib.exe, please contact me.


 Q: I have programs that show icons wrong and or crash?

  A: This is because of icons are handled for FasterIcon and 32Bit support.
     Some Tools show the icons correct in a P96 System and wrong under a CGX
     System. This has to do with how P96 and CGX expand the System graphics
     library. My tests shows that P96 behaves more compatible and that CGX
     needs some extra magic like a "BMF_MINPLANES" Tag to show 32bit icons.


 Q: I have the MacSnd Datatype installed and icons are displayed very slow why?

  A: MacSnd Datatype is very slow on detecting files. If you don't need it,
     better don't use it. If the problem is not gone then, there are maybe oth-
     er datatypes that slow down the process. If you find out a datatype that
     causes these slow downs, please report them.


 Q: Why do I have no frame borders around Glow-, PNG- and OS4 Icons on the
    Workbench? (And since Version 3.96 of AfA_OS with NewIcons too...)

  A: I have not implemented this function yet, because I don't know anyone who
     needs it.


 Q: When i click on an icon and hold the mousebutton, the icon jumps some
    pixels right and down why?

  A: Frame borders are not support in AROS Iconlib, you must set these
     to "no" in workbench prefs.


 Q: Why converted the icon_lib.exe from AfA_OS 3.96 my NewIcons to GlowIcons?

  A: Newicons are now handeld like GlowIcons, this results in a conversion if
     you change anything on the icon.


 Q: Why I can't see icons if I drag'n'drop them with DOpus?

  A: Please go to "DOpus Environment" section "Icon Settings" and switch the
     function "Use custom drag routine" to - on to see the Icons again. Optio-
     nally you can switch the function "Borderless icons are fully transparency"
     to - on.


 Q: Why i have different icon positions with DOpus and the Workbench?

  A: You must switch in "DOpus Environment" section "Icon Settings" the
     function "Use Workbench icon positions" to - on and switch "Remove Opus
     icon position" to - off, to have the same positions.


 Q: Why do I have a part of the background image at the borders of the Icons on
    DOpus screens and windows?

  A: Unfortunately i can not fix this. The problem occurs because DOpus sup-
     ports borders for icons within DOpus and AfA_OS does not. AfA_OS would
     have to patch the AOS blitfunction. So the best is you do not use this
     feature of DOpus.


 Q: How can i use EASTERN in conjunction with AfA_OS?

  A: Eastern can create icons in 24bit if you use AfA_OS iconlib.If you want
     use the Eastern cache, make sure to set RAW in Eastern commandline
     options. This does not save them as OS4 zlib compressed icons and it's the
     fastest way to store the data.

     A usefull command line for Eastern is:
      run > nil: eastern.68k RAW IA CD=dh5:cache MCS=3000

     IA=  set image aspect to ignore (seem 68k P96 don't support that correct)
     CD=  set the Cache directory
     MCS= set the maximum Cache entries. (note on slow system maybe set this
          smaller)

     Hint:
      If you use Eastern without Cache, it works 3 times faster if you use 
      akjfif datatype and create a configfile (set decode to fastinteger
      and image Scaling to 3)

      Use ak datatypes with min Version 45.60 , this version saves the
      configfile for tasks permanent in envarc:datatypes.

      Otherwise you must create the directory "akjfif.prefs_tasks" in
      envarc:datatypes and save the config for the EasternTask in it.
      

 Q: Why are the icons not saved in PNG format if i select PNG for ICONFORMAT
    by tools form Stephan Rupprecht (CopyIcon, Image2Icon,...)?

  A: At the moment I have only added the saveroutine for the AmigaOS 4 format
     to store 32Bit icons Images. The PNG Format will follow in a later
     release.


 Q: Why do PNG Icons get bigger if i change (Fix position,...) them, compared
    to MOS or OS4?

  A: To be full compatible to the AMIGA icon format and as a result a better
     compatability with DOpus Magellan, it was necessary to expand the format.

     Now the AfA_OS Icon lib uses this additional Tags, that are supported by
     AROS too:

      #define ATTR_VIEWMODES      0x8000100c  //OS4 PNG use that
      #define ATTR_DD_CURRENTX    0x8000100d  //OS4 PNG use that
      #define ATTR_DD_CURRENTY    0x8000100e  //OS4 PNG use that
      #define ATTR_TYPE           0x8000100f  //OS4 PNG use that
      #define ATTR_DRAWERFLAGS2   0x80001107  //store full drawerflags (dopus
                                                magellan needs that)


 Q: I have the problem that DOpus4 creat no Icons if i select AddIcon?

  A: Please copy def_icons to ENV:SYS better ENVARC:SYS if you use 32Bit Icons
     better to "SYS:Prefs/Presets/Deficons" to save RAM space.


 Q: I can't iconify the KingCON-Shell?

  A: This problem is fixed with version 4.7.


-------------------------------------------------------------------------------
++ intuition_lib.exe:

 Q: My Buttons of the windows are not replaced and placed with a Skin
    how can i resolve it?

  A: This happend if a other program replace the Buttons too like SYSIHACK,
     SYSI2, UROUHACK, MCP with aktivate SYSIHACK or you have aktivate the "1:1"
     option with the Prefences programm IControl.
     Please deaktivate it and Reboot you System.


 Q: I noticed that some things do not get skined, like the startup
    screens of IBrowse, Aweb and Startwindow of YAM.

  A: I have not added code to skin a titlebar with only 3 pixel height (all
     gadgets are off and no windowtitle). These are only used for startup
     screens and seem not to be important for now.


 Q: I sometimes notice flicker in screen title when workbench redraws the free
    mem.

  A: This should not happen from version 4.5 on because screentitle and
     other things are rendered offscreen.


 Q: Why are very small windows opened so slow?

  A: This should not happen anymore as the function is now optimized for this.


 Q: I notice slow speed in P96Speed open windows test.

  A: This happens because AfA_OS updates the screentitle on the first window
     that opens. Because P96Speed does always open a window and than closes it
     again so the screentitle redraw happens very often.
     If you want better benchmark results, remove the screentitle images or
     rename the folder. But in real world slowdown do not happen.


 Q: With the program XLentPro the bottom Button-line are drawn over the bottom
    windowborder or is partly covered by the windowborder is there a solution?

  A: In the directory with XLentPro are a file "XLentPro.Config". Load this
     file in a Texteditor and change the value WindowHeight form -1 to a value
     that is approximatly 20 Pixel smaller then the Screenheight.


 Q: The Menu of some progames like Microdot and Calc3.0 displayed wrong and you
    can see the Skin, how can i resolve it?

  A: This only happend with older programes an to solve the problem is the best
     you install MagicMenu version 2.35.


 Q: Why are the MUI windowgadgets "MUI" and "Shapshot" displayed with the the
    same images as Iconify?

  A: This is not a bug it is a momentary compromise and is intended.
     If that bothered you then you can switch of this two gadgets with the MUI
     Settingsprogram at the point "Window", these functions are also availible
     with the PopUp-gadget and it had the benefit that the windowborder is
     faster rendered.


 Q: Why are the padlock windowgadget from DOpus5 not supported by the Skin?

  A: It is momantary not supported respectively replaced because it makes
     problems that we can't fix yet. You can switch off the display of the
     gadget by set respectively create the ENV-variable "HidePadlock" with the
     value "1" in "ENVARC:DOPUS" if it bothered you.


 Q: Why have the textwindowgadgets from the ViNCEd-Shell (Shell_VNC) not the
    Font, colour and position that i have set for the Titlefont in AfA_Prefs?

  A: They use the settings form AOS (Font, Palette) for the Windowtitletext.
     At the moment i don't know any possibility to change this because the
     program (ViNCEd-Shell) draw the text.
  

 Q: With PowerWindowsNG i have not Requester Gadget anymore what can i do?

  A: Please deactivate "reset clear flag" of PowerWindowsNG.


 Q: Why does the undermost part of the Windowtileborder of AWeb disappears?

  A: This part is overwritten by AWeb, AfA_OS skin system only refreshes the
     inner part and not the whole border after changes.


-------------------------------------------------------------------------------
++ picture_datatype.exe:

 Q: gs8gui shows wrong images when I use ilbm datatype from Stephan Rupprecht.

  A: Create a file in envarc:datatypes named ilbmdt44.prefs with contents
     OLDDEC=NO Maybe that also helps when other images are drawn wrong too.


 Q: Pictures look a little different compared too the orginal picture
    datatype if dithering or scaling is used.

  A: I use a different algorithm for dithering and scaling, additionally only
     the fast (drop pixel) method is used for scaling at the moment.
     If you have pictures that are shown totaly wrong with AfA_OS's picture-
     datatype, please contact me.


 Q: Why can't i save images with progams like MultiView, IconEdit,... .

  A: For now the save function of the picture datatype is not implemented
     and all programs that make use of this function can't save images.


 Q: Why do i see only a dark picture with color strips if i use CyperShow to
    show PNG Truecolorimages, with JPGs i have no problem?

  A: This should not happen anymore is fixed in V4.1.


 Q: Why do i see falscolor pictures with some programs like AmigaAMP speaker
    plugin.

  A: There seems to be a problem in die remap code for Colorpalett based
     pictures. As a workround you can convert the picture to a Truecolorpicture
     as example with SView5.


 Q: I use the ak... Datatype but the alpha channel isn't shown correctly, also
    the settings in the datatype prefs are ghosted i have picture_datatype.exe
    active, where is the problem?

  A: The problem is that new versions (begining with 2008) of the ak Datatypes
     use the ENV variables DATATYPES/PICDTALPHA to indicate, if the
     picture.datatype support ALPHA correctly or not. This ENV variables are set
     during the install of the Datatype with the installer script, with the help
     of the tool TestDTAlpha in the C directory of the archive.
     Best is to reinstall the datatype with running AfA_OS and
     picture_datatype.exe. Or else you set or change the ENV variable ALPHA=OK
     for instance with the shell command
     "SETENV Datatypes/PICDTALPHA SAVE ALPHA=OK", this is set also in ENVARC and
     so survive the next reset.
     Best then relaunch the prefs of the datatype and set "strip alpha?" to
     "alpha support (ARGB/RGBA)".


 Q: The alpha channel is not displayed correctly if i use the WarpDatatypes
    together with the picture.datatype V46.9, where is the problem?

  A: Please start WarpDTPrefs and set the alpha channel settings to "keep" and
     save it. Do it also if "keep" was already set, because WarpDTPrefs checks
     the picture.datatype to adjust the settings respectively.


-------------------------------------------------------------------------------
++ Skin:

 Q: Why Drawers with number and subdrawer with names?

  A: The drawer contain the pixel height of the Skin elements in the subdrawers
     and the there name represends the window parts.


 Q: Why there are not for all selectable Titelbar sizes a subdrawer in the
    Skindirectory?

  A: For example you have a skin that contain a titlebar in 24 pixel and you
     want to use 20 pixel titelbar in AfA_Prefs. Then the 24 pixel icons are
     used and scaled on the skin load to 20 pixel.
     The technique is called mipmapping, the nearest size of an image is used
     and scale to the size that are select in AfA_Prefs.
     But you also can paint or convert images that the have 20 pixel in size
     then no scale is done.


 Q: What format are used for the Skin-Images?

  A: Skin-Images should always paint in PNG format with alphachannel, best is
     to use truecolor Images. I don't know if 256 color PNG-Images support
     alphachannel too.


 Q: Is there are a speed increase if i use uncompressed PNG-Images?

  A: Tests we did shows that compressed and uncompressed PNG-Images need the
     same time on a classic Amiga with 060/50, so you can use the compression.
     files.


 Q: Which sizes of the images are needed for a Skin if i want to draw my own?

  A: Best is to see the provided skins from Ken and look what Dimension they
     have.



++++++++++++++ What is AfA_OS?

AfA_OS gives you the opportunity to use is improved features of AROS on Amiga
OS without recompiling the whole operating system. New code written for AfA_OS
can easily go into the AROS source. On 68k there are more apps to test, and
better developer tools than on AROS, so development is more comfortable (and
also faster). Please be aware that i do not use "dirty tricks" to get the AROS
code running in the AMIGA, so AfA_OS does absolutely not limit the future
expansion of AROS. My new AfA_OS code and the improvements derived from it are
added to AROS regulary since the first release of AfA_OS (see AROS SVN Log).



++++++++++++++ What is the purpose of another OS?

It is not dependent on Linux as a host system and you do not need the AROS 
build system. So it can run and be build hosted on every AmigaOS compatible
system and provides a compatible API to all systems.

Currently AfA_OS works only on 68k systems, but maybe someone other ports im-
plemented functions to OS4 or MOS so, that coders that want to build their code
for all Amiga Systems do not need to stay on OS3.1 funcs nor have to invest
much work to write a different version for every OS. 

Currently AfA_OS is developed with AmiDevcpp, a windows Devcpp and 68k GCC 3.4
crosscompiler. i'd like to take the opportunity here to thank the author for
it. Because AfA_OS runs hosted on AmigaOS, the original closed source Amiga OS
can be enhanced through it. Old Amiga OS libraries are replaced by the adequate
AROS versions.

The host Amiga OS is (with AfA_OS installed) degraded to do things that MS-DOS
was doing for Windows 3.11 - WinMe. Through this approach new API features
introduced by AfA_OS can get a standard on all Amiga like OS.

No original libraries in your LIBS: directory need to be overwritten. Because
of that it is easy to boot with or without the new AfA_OS libraries. A left
mousebutton hold during boot time will prevent AfA_OS to use the new libraries.
If this is still too risky for you, you can start AfA_OS_Loader using the op-
tion MOUSESTART, then the new libraries are only used if you hold down the left
mousebutton during boot time. You can also chosse to start it lateron from
Workbench by doubleclicking AfA_OS_Loader manually.

To be on the safe side, don't do a later start during "insecure" HardDisk
operations actions like defragmenting your harddrive or during write opera-
tions. A later start has in theory a higher risc of crashing the system.



++++++++++++++ Why isn't the normal Amiga library format used for AfA_OS?

A AfA_lib.exe constructs the according AOS library at runtime, so it makes
developing easy, no need to copy libs to the Libs: dir, reboot and .... it does
not start up anymore. You then would have to start from another partition change
the changed Library back to the original. Through my approach you can replace
with another lib.exe or add a testprog to it and then go through it in single
steps with a graphical debugger.

But there are limits. Amiga OS only supports 127 prioritys. You must reboot af-
ter 127 times the lib.exe has been started.

If you get a Enforcer-Hit _from_ or _to_ an AfA_OS Module, you can load the Mo-
dule to an ASM-Debugger (Barfly from Aminet) and see with the debuginfo the OS-
function or Module that causes the Enforcer-Hit.

Users have the advantage that if they mention a problem with a new program, and
think it is related to AfA_OS they can easily boot without AfA_OS being loaded
up simply by holding the left mousebutton and check fast if the problem really
comes from AfA_OS. If the problem is really caused by AfA_OS please remove
Modules one by one and please give me a short notice which Module caused the
problem so that i have a chance of fixing it so that the user can take
advantage of the Module in later releases.


++++++++++++++ I want to code and help to make more AROS libs available!

Then please download the AROS source code and AROS includes.

http://www.aros.org/downloads/nightly/

AROS-xxxxxxxx-source.tar.bz2
AROS-xxxxxxxx-i386-all-sdk.tar.bz2

xxxxxxxx is the date of the snapshot

If you get too short (invalid) files then you need a download manager e.g.
flashget on Windows. With flashget i can download the whole files correctly
unfortunately it does not work with IE or Firefox for me.

Copy the AROS source code in a directory called "AROSsource". Please make sure
that you copy also all sub directorys, so that now the dirs arch compiler and
more are shown in AROSsource.

Copy the includes from the file i386-all-sdk in AROSinclude. These files are in
the sdk locatet in i386/include. If you all have done correct then the dir
AfA_OS/arosinclude contain the dirs aros boost c++ clib and more.

It will look like this:

Base Drawer
|
-AfA_OS
|--amiblitzsource
|--diskfont
|--...
-AROSinclude
|--aros
|--boost
|--...
-ARossource
|-arch
|-compiler
|-config

Now you are ready to compile: graphics-, intuition-, exec-, diskfont- and data-
types- .library and also picture.datatype from AROS


+++++++ If you want compile other files..

Start an existing project (xxx.dev) in amidevcpp or look on the .dev project-
files. Here you can see what settings are used, and you can create a makefile
for your prefered compiler if you dont want to use AmiDevCpp. If you find loa-
ding of the projects is too slow, then deactivate the class browser for local
and global include files. Please notice you then will get less help on type
completion.

Now save the existing project using "save as" under the name of the new AROS
lib you want to compile. For every AROS lib, you must modify the 
libdefs_68k_afa.h to correct library names and basetypes.Then copy it to the
source directory. Sometimes, if you get compiler errors, you need to add an in-
clude search path to the source directory.

Now you can compile. Also have a look on the text contained in the file:
AfA_OS/include/aros/machine.h Here you can choose if you want to use AROS or
AmigaOS stubs, debug, log or something else.

Look also in the xxx_start.c files. Here is the platform dependent source code
located, that is initializing a library. You need  such a file for every new
library you want to compile.

The projects currently only need - very small changes to the arossource, but if
you find one let me know or mail on AROS Mailinglist.

These Changes had to be done in  graphics_init.c:

    In "gfxinit" this following line has to be removed.

    //NEWLIST(&LIBBASE->TextFonts);

    In intuition_intern.h you must remove this 

    struct IntIntuitionBase
    {
        struct IntuitionBase         IBase;
    //#ifdef __MORPHOS__

The rest of files you need are in the archive. The first include search path
searches in the dir: AfA_OS/include and will use a particular file if it is
found there, instead of using one being in "AROSinclude". See also the include
search order in amidev projects. It is important that you dont change the or-
der.

Another thing to understand is what the afa_system.library does. It holds the
preferences struct in the positive lib space, which can be accessed by prefs
progs by opening this lib. Also it offers a pref load(filename) and a prefs
Save(filename) command, because most lib have prefs setting this lib must start
at first.

In future all things and functions which are different to the AROS original
will be found here.

Usefull funcs in arrossupport.c

Sometimes you need to wait for a Module to be loaded. Here it comes in handy
that AfA_OS supports WaitOpenLibrary. This waits until a lib is loaded. There
is also the ExpandLibrary command. This copys the functions of an old library
to new library with same name, but with a lib priority with +1 above the old.
So this lib will then be opened by programs that start later.

You can choose paramaeters for the lib pos size and number of offsets the lib
can have yourself. So every Amiga OS library can grow as you like. New func-
tions are set with the Macro SETFUNC. Here you can choose which original func-
tions you want to replace.


+++++++ What is doing what

***** Module diskfont_lib.exe 
** Lib Version 46.0
** need graphics_lib.exe module

Antialiasing(select strength and contrast with prefs program).
Truetype Font support working, no crashes known. Report other Bugs.

Known Problems:
On large CG fonts(>30) the baseline is sometimes wrong on some chars.

Golded 4.7.2 gives an error when a truetype font is used. Maybe newer golded
work without a problem?

Limits:

When you do a assign font: mydir then only the last added dir is used.
So please make sure all Fonts are in the sys:fonts dir.

This is a limit of freetype2 which is used by MOS and AROS also. If you notice
that an enhanced version is available please let me know, and i will compile  a
new version.


***** Module exec_lib.exe
** Library Version 4x.99

About 45% of exec functions from AROS added.

This functions do not crash or overwrite Memory partitions if a wrong parameter
is used. In future all function should be safe to not crash or trash memory on
wrong usage. If a wrong parameter is used, then a enforcer hit from tst.l $0 is
done if enforcer is running and the function do nothing. I don't know programs
that fail, so it seems to be compatible. Please report programs that do not
work properly with this feature and remove exec_lib.exe until it is fixed.

GetMsg
ReplyMsg
SendIO
CheckIO
DoIO
WaitIO_


***** Module graphics_lib.exe
** Library Version 45.0

New AROS API funcs (ignore the rest,i am to lazy to remove the declares
SETFUNC(CopyRegion,Graphics,GfxBase);

A new function CopyRegion was added and can be used with AROS includes in
AfA_OS.

SETFUNC(AndRegionRegionND,Graphics,GfxBase);
SETFUNC(CopyRegion,Graphics,GfxBase);
SETFUNC(NewRectRegion,Graphics,GfxBase);
SETFUNC(SetRegion,Graphics,GfxBase);
SETFUNC(ClearRegionRegion,Graphics,GfxBase);
SETFUNC(IsPointInRegion,Graphics,GfxBase);
SETFUNC(CreateRastPort,Graphics,GfxBase);
SETFUNC(FreeRastPort,Graphics,GfxBase);

New functions for cybergraphics.library
** Library version 45.0

SETFUNC(BltTemplateAlpha,Cybergraphics,CyberGfxBase);
SETFUNC(WritePixelArrayAlpha,Cybergraphics,CyberGfxBase);


***** Module icon_lib.exe
** Library version 53.4
** need graphics_lib.exe module

Support for Dual Image PNG Icons and compatiblity with OS4 icon.library for
eastern, Wet.


***** Module intuition_lib.exe
** Library version 4x.87
** need graphics_lib.exe and icon_lib.exe module

Support for AfA Skinsystem.

New functions:

SETFUNC(IsWindowVisible,Intuition,IntuitionBase);
SETFUNC(DoNotify,Intuition,IntuitionBase);
SETFUNC(FindClass,Intuition,IntuitionBase);
SETFUNC(AllocIntuiMessage,Intuition,IntuitionBase);
SETFUNC(SendIntuiMessage,Intuition,IntuitionBase);
SETFUNC(FreeIntuiMessage,Intuition,IntuitionBase);
SETFUNC(FreeICData,Intuition,IntuitionBase);
SETFUNC(WindowAction,Intuition,IntuitionBase);


***** Module picture_datatype.exe
** Lib Version 46.0
** need graphics_lib.exe module

Support alphachannel loading with datatypes.

Limits:

If you use use Scalos you must disable in the Tab "Pattern" - "No Remap Images"
If you use the WB "scale to size" does not work.

Bad picture quality when rendering a 24 bit image to a 256 color screen.

No DTM Write support, you can't save images with Datatyps interface.

If you can not with theses limits please remove picture_datatype.exe from
AfA_OS_Libs dir.


***** truetype_fontmanager.exe

start it and select the dir where your fonts resist. It defaults to ram:
because most time when i download fonts i decompress to ram:. Double click on a
font to open the info page. If no testtext is shown, the font is no truetype
font(this will habben happen often if you use your Windows directory as a
source often). If you see the testtext change the name if you like. To install
the font click the Install button.

Now the font will be copied with the name you have choosen to the destination
directory (default to fonts:)

If you choose "fontname" there are 3 files:

"fontname"        (is the ttf file)
"fontname".font   (is a amiga specific file)
"fontname".otag   ("     "         "     " )


***** Module datatype_lib.exe

only compile no funcs set


***** Module hyper_layers
** need graphics_lib.exe module

New API funcs

SETFUNC(GetFirstFamilyMember,Layers,LayersBase);
SETFUNC(CreateLayerTagList,Layers,LayersBase);
SETFUNC(ChangeLayerShape,Layers,LayersBase);

Work currently only with programs that use layers lib directly (see testprog).



++++++++++++++ Skinsystem parameters

The Parameters of the Skinsystem are values as Tooltypes of the Settings Icon
in the Skin directory.

Note: This are case sensitiv.

The default value is 0.

closex         ;position x offset of closegadget
closey         ;position y offset of closegadget
depthx         ;position x offset of depthgadget
depthy         ;position y offset of depthgadget
iconifyx       ;position x offset of iconifygadget
iconifyy       ;position y offset of iconifygadget
popupx         ;position x offset of popupgadget
popupy         ;position y offset of popupgadget
sizex          ;position x offset of sizegadget
sizey          ;position y offset of sizegadget
zoomx          ;position x offset of zoomgadget
zoomy          ;position y offset of zoomgadget
midpos         ;startposition of middle titleskin
bordersize     ;width of borders if no Gadgets are in, the default is 3


Here are the settings for the color of the winborders setting "skin border"
Possible values are from 0-255 and default is 0.

ShadowR        ;red value of the shadow edges in window
ShadowG        ;green value of the shadow edges in window
ShadowB        ;blue value of the shadow edges in window

ShineR         ;red value of shine edges in window
ShineG         ;green value of shine edges in window
ShineB         ;blue value of shine edges in window


Here are the settings for the color of the window title text when the window
is active.
Possible values are from 0-255 and default is 255.

TextActiveR    ;red value
TextActiveG    ;green value
TextActiveB    ;blue value

Here are the settings for the color of the window title text when the window
is inactive.
Possible values are from 0-255 and default is 0.

TextInactiveR  ;red value
TextInactiveG  ;green value
TextInactiveB  ;blue value


The next values are used when a new skin is select and load defaults is
activated.

ShadowSize     ;value from 0 to 5
SizeGadgetSize ;value from 10 to 35
TitleHeight    ;value from 8 to 40
TitleFontSize
TitleYPos      ;value from -10 to 10



++++++++++++++ External Resources

Thanks to Ken Lester there are nice Icons available in DUAL PNG Format.

 Screenshots:
   http://www.five-star.com/kit/screenshot.png
   http://www.five-star.com/kit/normal.png
   http://www.five-star.com/kit/selected.png

 Icons:
   http://www.five-star.com/kit/k4.lha


Thanks to Martin Merz (Mason) there are nice Icons available in OS4 Format.

 Screenshot and Icons:
   http://www.masonicons.info/archive.html



++++++++++++++ Version History

AfA_OS 4.8

  The icon_lib.exe use now a buffer that fix Hits by displaying Icons in the
  NewIcon format.

  The saving of the Font cache was disable in the diskfont_lib.exe this fix
  problems with write protected Volumes.

  In the graphics_lib.exe a problem with RecFill was fixed that occure if it was
  used in the Border area.

  The blacklisting are extended that the program TypeSmith now works with the
  ToolType entry "bxxxTypeSmith" in the BlackList Icon. "bxxx" indicates that
  the hight of title bar are not set back to the defaults.

  The max posibile value of the Icon-Size in the Afa_Prefs program are set to
  256.

  Thomas Klein has fix a Hit in morelibspace, reported by Frank Weber.

  He also extend AfA_OS_Loader to support the parameter "OPTIMAL" with it the
  AfA_OS_Libs are started in its optimal order.

  The AfA_Prefs program are reviced by him, it is now complete localisable.
  There are two new ToolTypes "ForceSkin" tries to close and open the Workbench
  that the settings are used for all windows at the end of the program.
  With "Layout=(0-2)" it is possible to switch between three layouts of the
  Window settings, 1 is the default its the one that are used in older versions.
  At 0 and 2 the stettings are grouped.


AfA_OS 4.7

  Modified the icon_lib.exe to support Peter Keunecke iconlib V46.4.133 and
  newer, for that i moved the address of the structure up because Peters library
  need 2kB.
  Also the AmigaOS icon.library form the ROM or Libs: is now used to display the
  icons with <=15Bit Workbenchscreens, so you see the icons again.
  And all programs that have built in icons like KingCon work now without extern
  icons, i thank Peter Keunecke for his help.

  Extend intuition_lib.exe to support the following frameiclasses with the
  Zune-Skinsystem:
       FRAME_PROPBORDER (compatible with OS4 API)
       FRAME_PROPKNOB (compatible with OS4 API)
       FRAME_DISPLAYBOX (compatible with OS4 API)
       FRAME_WINDOW
       FRAME_PAGE
       FRAME_GROUP
       FRAME_REQUESTER
       IA_Orientation (compatible with OS4 API) is used to rotate the sliders.
  Bumped revision to 88 to identify this changes.
  Wawa added window gadgets code for screen depths <=15Bit, a known problem is
  that the size gadget is not always correct centered.

  Fixed a redraw problem that happend with FinalData and a gadget text problem
  that happend with FinalWriter. Also fixed a Enforcer Hit that occurs while
  resizing an ASL requester that is partly hidden under 3 or 4 windows and MCP
  "solid window sizing" was active.

  Changed OM_SET of picture_datatype.exe that its always return 0 to prevent a
  double redraw of the image with WarpDatatypes and prevent the crash that
  happend with the PPC versions, thanks go to Oliver Roberts for his help.
  Also bumped Version to 46.9 so WarpDatatypes from Oliver Roberts support the
  alpha channel, because beginning with that versions number the OS4
  picture.datatype fully supports the alpha channel.

  Thomas Klein modified the AfA_OS_Loader to check for existence of the
  afa_system_lib.exe file instead of only the default directory or Assign. This
  helps to prevent a lock of that directory and let AfA_OS start if the default
  directory exists but the files are in the AfA_OS_Libs: Assign. Bumped version
  to 3.0.

  Thomas Klein wrote a new installer script that now full support AmiKit-systems
  and don't overwrite directory icons anymore. It also has a conflict handling
  for AfA_OS updates, installed with the old script on Amikit-systems >=v1.2.0.
  Bumped version to 2.0.


AfA_OS 4.6

  Bug fixed at SysIClass Checkimage that overwrite memory with the Palette
  program from AmigaOS 3.1.

  Optimized the Skinsystem to remove the flicker of the right windowgadgets by
  changes of the windowtitletext that was noticable on slow systems.

  Changed memory alignment size of the exec_lib.exe to the same size as the
  orginal AmigaOS exec.library use to increace the compatibilty and to reduce
  the fragmentation, this lead maybe in a little increased memory comsumption.

  Name of the default Font corrected in zune_lib.exe.

  Bug fixed in the function addglist that made Hits with DOpus4, if the right
  mousebutton was pressed over the Drivegadgets to toggle the listed of Drives.


AfA_OS 4.5

  Thank Dieter Gropp for supported me with sourcecode and tips are now the
  windowgadgets from KingCON, ReAction (ClassAction) also MUI supported and
  replaced by the Skinsystem.
  DOpus5 Iconify and tbiclass Windowgadgets are also supported and replaced by
  the Skinsystem by pushing ;) and with help from Thomas Klein.
  
  * Momantary all windowgadgets except PopUp and TBIFrame (sysiclass ID number
    101-105) are displayed with the Iconify Image and Padlock from DOpus5 are
    not replaced due problems.

  Ken Lester created the Iconify and PopUp Images for the old Skins and 12
  complete new Skins so yet are 22 Skins useable. Here is a link to a screenshot
  where 21 skins are shown:
    http://www.five-star.com/kens_icons/screenshots/themes_all.png

  Many problems in the skinsystem removed and some changes made for the AWeb
  and ViNCEd-Shell windowgadgets. The redraw of the Window- and the Screentitle
  are now pleaced first offscreen and only if the text changed. This eleminates
  the flicker of the text on slow systems and speed up the rendering. Also the
  flicker of the scrollers by there moveing are eleminated on slow systems.
  Windowgadgets are not displayed inside windows anymore that fix problems with
  the Font and Palette settings programs.

  Crashs and Bugs fixed with P96 Screen in 16Bit depth and with the RGBA modes
  of the Voodoo3 by changing the alphablendfunctions from ARGB to RGBA.

  AmigaOS API functions "addgadget" and "addglist" complete replaced by AROS
  Code.

  The "gadgetclass", "rootclass", "groupgclass", "modelclass" and "fillrectclass"
  complete replaced by AROS Code.

  The function "DrawIconState" from icon.library with the Tag "ICONDRAW_NOALPHA"
  extended.

  The function "createproc" are now patched by afa_system_lib.exe to expand the
  Stack.

  Bug fixed that crash the system if the function "Font Size Adjust" is used in
  conjunction with the zune_lib.exe.

  AfA_Prefs are extend by Thomas Klein with the support for the ToolType
  "SkinPath" to set the default path of the Skin select requester. Also that the
  programicon is used yet instead of the hardcoded "SYS:Prefs/AfA_Prefs.info"
  for the transparency preview. And the Bug fix to reset the Titlefont by Cancel.


AfA_OS 4.4

  Bugs removed that the screen title bar is displayed correctley if a skin is
  used on custom screens that 8bit deep and on custom truecolour screens with
  some programs (MUI, Filemaster).

  Removed a Bug that the Images of NewInstaller are displayed.

  Removed a enforcer Hit in the function DeletePool if 0 is passed as pool
  Header.

  Correct the Versionstrings of the AfA_OS_Libs, AfA_Prefs and added a
  Versionstring to AfA_OS_Loader.

  Added the resident module morelibspace_module to the Archive in the directory
  "Optional/Devs/", for use with BlizKick, Loadmodule or for the Flash of DENEB
  USB card.

  Update zune_lib.exe to lastet Beta and moved it to "Optional/AfA_OS_Libs/".

  Update Installerscript to support an optional install of morelibspace_module.

  Update and restructuring of the Documentation.


AfA_OS 4.3

  The version of the exec.library is not set to 46 any more, instead the
  revision number are set to >=99 to recognize it as a AfA_OS Library. This was
  necessary to avoid problems with programs (SFS) that uses some not so well
  known new functions of the optional exec.library V45.20 form OS3.9 BoingBag2.
  If that was not installed with AfA_OS a crash happend.

  A Bug of the textfunction of graphics.library removed, that a negativ value of
  textlenge can be passed, as with the orginal AmigaOS function. The old
  req.library (from 1993) passed a.e. -3, so a crash happened under AfA_OS.

  buttongclass and imageclass complete replaced with AROS Code.

  AmigaOS API functions RefreshGadgets, RemoveClass, NextObject, DisposeObject,
  AddClass, FreeClass, MakeClass and NewObjectA complete replaced with AROS Code.

  Update Docs, with Requirements and Limitations section, a solution for
  support PNGIcons and skining under OS3.1 and some corrections.
 
  Replaced the Prefs Icons with 32Bit Icons in OS4 format that the transparency
  preview in AfA_Prefs works again .

  Updated beta of zune_lib.exe added to the archive in Directory "Optional" and
  the Installscript updated for a optional install.


AfA_OS 4.2

 Removing a Bug in the Skiningcode that not always set the Screenstructur right.
 What had the result that some windows was opened to small and there contents
 was overdrawn bei the windowborder for example "tsgui".

 The compatibility of the Skiningcode are improved for Finalwriter and for
 Cybershow and PhotoAlbum. 

 Bugfixing and enhancement of morelibspace by Thomas Klein.
  Now Memory are always allocate with the attribut KICK, the priority of the
  Resident set up to 104, Versionstring integrated and Version set up to 46.0.
  "REVERSE" Switch integrated for allocate Memory with this attribut.
 
   
  "!!! Attention  morelibspace don't function on all Systems with all options
   (Switches) !!!"

  If you have still problems, use morelibspace as a blizkick module.


AfA_OS 4.1

 Many times faster redraw of windows with a size < 150 Pixel.

 A higher compatibily of picture datatype which now functioning with Cybershow
 and Photoalbum, YAM 2.6dev Portrait view, TestDTAlpha and the RGBA Mode
 implemented.

 The text of the menues are now correctly centered.

 The version of intuition.library set to 40 again, so the menues are on the
 right position for YAM and ibrowse.
 Detection of the AfA intuition.library now by the revision number that is now
 with AfA_OS >=87.

 The Screentitel are now correctly displayed in 8Bit Modes.

 The icon_lib.exe clear 1 pixel less with OS 3.5 Icons (GlowIcons).

 The selection with the Mouse in Shellwindows is now functioning.


AfA_OS 4.00

 It can be selected between Visualprefs, Birdie or the AfA_OS Skin System via
 AfA_Prefs and a customized startup-sequence.

 Realtime Skinsystem, which can switch skins without closing the screen when
 switching skins.

 A user-configurable blacklist with tasknames of programs that do not work with
 increased border size properly, so that only AOS standard size will be used.

 Many configurable real time parameters, like 3 different borderlines.
 The user can alter the pre defined Skin parameter through a GUI.

 Window Titel Font is autonomously from AOS window font selectable.
 Position of window titel font, shadow and depth selectable.

 OS4/PNG Icons can be scaled in realtime, due to a high quality scale code
 by Thilo Khler.

 Added the tags "IA_Width" and "IA_Height" to the functions "getdiskobject" and
 "dupdiskopbject" these are needed for the scaling function.


AfA_OS 3.97

 Window Titel Font is autonomously from AOS window font selectable.
 Position of window titel font, shadow and depth selectable.

 OS4 features for Wet added.


AfA_OS 3.96

 Added support of OS4 32bit Icons and needed some Iconlib functions so that
 deficons eastern do work. Image2icon now works with 24 Bit Icons.

 Saferpatches now work with AfA_OS so you can start it before AfA_OS_Loader.


...


AfA_OS 3.91 beta 4

 Known Problems:
 AfA_OS does not work when you use saferpatches from Thomas Richter before
 AfA_OS is started. I do not know why, because I have no sources.
 


++++++++++++++ Credits

Many thanks go to Georg Steger who ported AROS freetype2.library, diskfont.li-
brary, aatext.exe and ftmanager to an 68k AmigaOS binary and made with this the
use of truetype font(including AntiAliasing) possible and helped me alot under-
standing to compile AROS without Linux.

Major overhaul of the documentation by Alexander Grosser and Thomas Klein.
Install version since AfA_OS 4.0 was created by Thomas Klein.
The first AfA_OS Installer was created by David Eriksson (fx).
The new installer script was created by Thomas Klein.
AfA Logo created by Fishx.
Skins and Icons created by Ken Lester

Thanks Toni Wilen for the development of a morelibspace resident module.

Thanks of course to the whole AROS Team and of course the MOS Team who added
fixes to these things (maybe i forgot some).

asl, clipboard, commodities, gadtools, iffparse, intuition, locale, more,
multiview, some c progs, some keymap files, diskfont, freetype (truetype
support), texteditor and betterstring Class


Thanks to Andreas Kleinert for support the AfA_OS picture.datatype with his
programs (SView5 and akdatatypes) and the Help for finding and removing Bugs.

And Thanks to Thomas Rapp for finding a Bug in the Skiningcode und providing a
little program to demonstration the Bug.

My spezial thanks go to Dieter Gropp for his help with sourcecode and tips
and for support AfA_OS with MCP.

Thanks to Peter Keunecke for his help and for support AfA_OS with his Iconlib.

And thanks got to Oliver Roberts for his help and information to the
picture.datatype.


Also Thanks to motorollin and MozzerFan form Amiga.org to find the problem and
a solution for not working PNGIcons and Skining under OS 3.1.

And Thanks to HammerD and Pecosbil from Amigaworld.org for Bugreports with
examples of the screen title bar from custom screens.

My thanks go also to Thilo Khler and Dennis Brink for there bug reports.

And Thanks to all the people that i forgot jet that help me and my helpers to
improve AfA_OS and it's Documentation.


A special thanks for testing and providing informations to Alexander, Thomas,
mrodfr, huepper, Stefan and wawa.
